package com.manage.system.api.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.manage.common.core.result.JsonResult;
import com.manage.system.api.entity.SysStorageConfig;
import com.manage.system.api.request.oss.StorageAddOrEditParam;
import com.manage.system.api.request.oss.StorageConfigParam;

import java.util.List;

/**
 * <p>
 * 云存储配置表 服务类
 * </p>
 *
 * @author zhangqing
 * @since 2021-12-09
 */
public interface ISysStorageConfigService extends IService<SysStorageConfig> {

    JsonResult findListPage(StorageConfigParam storageConfigParam);

    /**
     * 添加云存储配置
     * @param storageAddOrEditParam 添加云存储配置实体
     * @return 统一返回
     */
    JsonResult addStorageConfig(StorageAddOrEditParam storageAddOrEditParam);

    /**
     * 修改配置状态
     * @param id 用户id
     * @param status 状态
     * @return 结果
     */
    JsonResult changeStatus(Long id, Boolean status);

    /**
     * 批量删除云存储配置
     * @param storageConfigIds 云存储id集合
     * @return 结果
     */
    JsonResult batchDelStorageConfig(List<Long> storageConfigIds);

    /**
     * 修改云存储配置
     * @param storageAddOrEditParam 添加云存储配置实体
     * @return 统一返回
     */
    JsonResult editStorageConfig(StorageAddOrEditParam storageAddOrEditParam);

    /**
     * 根据configCode获取配置
     * @param configCode 配置code
     * @return 统一返回
     */
    JsonResult findByConfigCode(String configCode);
}
